qx.Class.define("caraffa.widgets.NotaHistoria",
{
	extend : qx.ui.window.Window,
	events:
	{
    	"notaAgregada" : "qx.event.type.Event"
	},
    construct : function (titulo,dni_paciente){
		this.base(arguments);
		
		this._dni_paciente = dni_paciente;
		//RPC
		this.rpcHC = new qx.io.remote.Rpc();
		this.rpcHC.setTimeout(10000);
		this.rpcHC.setUrl("services/");
		this.rpcHC.setServiceName("historiasClinicas");		
		try{
			this.resTipos = this.rpcHC.callSync("tiposNotas");
		}
		catch(ex){
			alert("Error: " + ex);
		}
		
		try{
			var params = new Object();
			params.dni_paciente = this._dni_paciente;
			this.resPlanes = this.rpcHC.callSync("planes", params);
		}
		catch(ex){
			alert("Error: " + ex);
		}	
		
		// FORM
			this.setLayout(new qx.ui.layout.VBox(10));
			this.setCaption(titulo);
			this.setShowStatusbar(false);
			this.setModal(true);
			this.setMovable(true);
			this.setResizable(false);
			this.setShowMaximize(false);
			this.setShowMinimize(false);
			this.setWidth(500);
			this._cmbTipo = new qx.ui.form.ow.ComboBox("Tipo de nota:",this.resTipos, true);
			this._txdFechaSuceso = new qx.ui.form.ow.DateText("Fecha del suceso:");
			this._cmbPlanes = new qx.ui.form.ow.ComboBox("Obra Social:", this.resPlanes, true);
			this._txtNota = new qx.ui.form.ow.TextArea("Nota:");
				this._txtNota.getText().setHeight(100);
				this._txtNota.getLabel().setWidth(200);
			
			this._botonera = new qx.ui.groupbox.GroupBox();
				this._botonera.setLayout(new qx.ui.layout.HBox(30).set({alignX:"center"}));
					this._btnAgregar = new qx.ui.form.Button("Agregar");
				this._botonera.add(this._btnAgregar);
			
			this.add(this._cmbTipo);
			this.add(this._txdFechaSuceso);
			this.add(this._cmbPlanes);
			this.add(this._txtNota);
			this.add(this._botonera);
			
			// EVENTS
			this._btnAgregar.addListener('execute', this._addNota, this);
	},
    members :{
    	
		//RPC
		_addNota: function(){
				try{
					var params = new Object();
						params.dni_paciente = this._dni_paciente;
						params.cod_tipo_paciente_nota = this._cmbTipo.getValue();
						params.fecha_suceso = this._txdFechaSuceso.getValueToSQL();
						params.cod_plan = this._cmbPlanes.getValue();
						params.descripcion = this._txtNota.getValue();
					this.rpcHC.callSync("addNota", params );
					this.fireEvent('notaAgregada');
					this.close();
				}
				catch(ex){
					alert("Error: " + ex);
				}
		}
    }
});
